package cn.iocoder.yudao.module.of.dal.dataobject.documentinfo;

import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.time.LocalDate;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 公文信息 DO
 *
 * @author 超级管理员
 */
@TableName(value ="of_document_info"  , autoResultMap = true)
@KeySequence("of_document_info_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DocumentInfoDO extends BaseDO {

    /**
     * 主键
     */
    @TableId
    private Long id;
    /**
     * 送文单位ID
     */
    private Long sendDocDeptId;
    /**
     * 送文单位I名称
     */
    private String sendDocDeptName;
    /**
     * 收文日期
     */
    private LocalDate receiptDocDate;
    /**
     * 公文编号
     */
    private String docCode;
    /**
     * 公文名称
     */
    private String docName;
    /**
     * 收件人ID
     */
    private Long receiptUserId;
    /**
     * 收入人姓名
     */
    private String receiptUserName;
    /**
     * 经办人ID
     */
    private Long handleUserId;
    /**
     * 经办人姓名
     */
    private String handleUserName;
    /**
     * 附件
     */
    @TableField(typeHandler = JacksonTypeHandler.class)
    private Set<Long> attachs;
    /**
     * 主办部门ID
     */
    private Long mainRespDeptId;
    /**
     * 主办部门名称
     */
    private String mainRespDeptName;

    /**
     * 任务负责部门的 责任人
     */
    private Long mainRespUserId;

    /**
     * 任务生成人员
     */
    private Long taskGenUserId;

    private String taskGenUserName;

    /**
     * 租户ID
     */
    private Long tenantId;

}